Number 類型的內建函式
// parseInt(string, radix) -> radix,轉成幾進位(可省略)
var a = 0
var b = "20"
console.log(a + b) //020
console.log(a + parseInt(b,10)) //20 將字串轉成數字
// parseFloat() -> 帶有小數的字串轉為數字
var c = "20.55"
console.log(parseFloat(c) , typeof parseFloat(c)) //20.55 number
// parseFloat().toFixed() -> toFixed指定保留幾位小數,並四捨五入。
var d = "11.456"
console.log(parseFloat(d).toFixed(2)) //11.46
需注意計算數字不要超出最小值Number.MIN_VALUE
與最大值Number.MAX_VALUE
,會造成儲存不精準。
Math:跟數學有關的內建函式,常數會用大寫來表示,例如:PI。
console.log(Math.PI) //3.141592653589793
console.log(Math.ceil(20.111)) //21 -> 無條件進位
console.log(Math.floor(20.111)) //20 -> 無條件捨去
console.log(Math.round(20.654)) //21 -> 四捨五入
console.log(Math.sqrt(25)) //5 -> 開根號
console.log(Math.pow(2,10)) //1024 -> 取次方,2的10次方。
//random():隨機產出0~0.9999999...的小數(包含0不會有1)。範圍要自己推~
console.log(Math.random()*10) //0~0.9999...
console.log(Math.floor(Math.random()*10)) //結合Math.floor捨去小數,可以得到0~9的隨機數。
//把數字變成字串的用法:
var e = 5
console.log(e.toString(),typeof e.toString()) //第一種方法:toString()
var f = 6
console.log(f + "" ,typeof (f + "")) //第二種方法:加上空字串
String 類型的內建函式
//轉換大小寫
var a = "LOREM IPSUM DOLOR SIT".toLowerCase()
var b = "amet consectetur pisicing".toUpperCase()
console.log(a)
console.log(b)
//每個字都有相對應的字碼(ASCII)
var c = "ABCD".charCodeAt(3) //68
console.log(c)
var d = String.fromCharCode(65) //A
console.log(d)
var e = "lorem ipsum dolor sit"
var f = e.indexOf("ipsum")
console.log(f) //6 有出現該字會回傳第一位位置
var g = e.indexOf("ipsum!!!")
console.log(g) //-1 沒有該字會回傳負數
var h = "lorem ipsum dolor sit lorem".replace("lorem" , "AAA")
console.log(h) //AAA ipsum dolor sit lorem 取代掉原本的字,但只會換掉第一個
var i = "lorem,ipsum,dolor,sit,ipsum,dolor,sit".split(",")
console.log(i) //以,切分,把字串轉成陣列比較好處理字串。
var j = " lorem ipsum ".trim()
console.log(j) //lorem ipsum -> 把前後空格給去掉
Array 類型的內建函式
//join
var a = ["aaa","bbb","ccc"]
console.log(a.join("")) //aaabbbccc -> 把陣列轉成字串輸出,可指定連接符號
//map filter
var b = [2,1,4,-3,6,8,-1]
console.log(
b
.map (function(x){
return x*2
})
.filter (function(x){
return x>0
})
)
//slice splice
var c = ["a","b","c","d","e"]
console.log(c.slice(2,4)) //['c', 'd'] -> 從第2切到第4個(4不要)
console.log(c) //slice不會改到原本的陣列
//splice 可插入與刪除,會改變原本的陣列(不同於slice僅回傳一個新的陣列)
var d = ["a","b","c"]
d.splice(1,0,"zzz") //在[1]位置前插入一個"zzz"
console.log(d) //splice會改變到原本的陣列
//sort
var e = ["cat","apple","dog","banana","egg"]
e.sort()
console.log(e) //按字母排序
var f = [13,40,3,6,84,2]
f.sort()
console.log(f) //按字串排序,不會按大小
今天這篇有點不知道要怎麼寫,就算加了點自己實作的內容看去來還是像滿滿"招式表"感覺 (直接看MDN還比較快) ,但不筆記又好像沒學到東西,所以還是跟著影片去實作常用的。至少在以後忘記某個用法時能有相關的關鍵字能查得到。
內容有部分也是偏難,例如:sort按照數字大小排列,雖然影片有講解,但其實沒有很懂1和-1。可能還要再多研究其他東西才能懂,就沒有放在筆記了。